//package P.image;
//
//import U_A.PEU.P.image.ReadWritePng;
//
//import java.awt.image.BufferedImage;
//
/*
// * 个人著作权人, 作者 罗瑶光, 浏阳
// * 授课 reinhart，思想 computer vision绿皮书
// * yaoguangluo@outlook.com, 313699483@qq.com, 2080315360@qq.com, -
// ** 15116110525-浏阳德塔软件开发有限公司-创始人-法人-总经理-永久非盈利-
// * 430181198505250014, G24402609, EB0581342
// * 204925063, 389418686, F2406501, 0626136
// * 湖南省 浏阳市 集里街道 神仙坳社区 大塘冲路一段
*  208号 阳光家园别墅小区 第十栋别墅 第三层
// * */
//public class Strech_X_P {
//    public static int[][] P(int[][] g, double d, double e) {
//        int histgram[] = new int[256];
//        for (int i = 0; i < g.length; i++) {
//            for (int j = 0; j < g[0].length; j++) {
//                ++histgram[g[i][j]];
//            }
//        }
//        float p = 0;
//        int br = 0, dr = 0;
//        for (int i = 0; i < 256; i++) {
//            p = p + histgram[i];
//            if (p > d * g.length * g[0].length) {
//                dr = i;
//                break;
//            }
//        }
//        ////20230106-S_logger.Log.logger.info("" + "dr:"+dr);
//        p = 0;
//        for (int i = 0; i < 256; i++) {
//            p = p + histgram[i];
//            if (p > e * g.length * g[0].length) {
//                br = i;
//                break;
//            }
//        }
//        ////20230106-S_logger.Log.logger.info("" + "br:"+br);
//        int out[][] = new int[g.length][g[0].length];
//        for (int i = 0; i < g.length; i++) {
//            for (int j = 0; j < g[0].length; j++) {
//                if (br - dr != 0) {
//                    out[i][j] = (g[i][j] - dr) * 255 / (br - dr);
//                }
//            }
//        }
//        return CheckRange.P(out);
//    }
//
//    public static BufferedImage P(BufferedImage lygimage, double d, double e) {
//        int r[][] = new ReadWritePng().REDpngRead(lygimage);
//        int g[][] = new ReadWritePng().GRNpngRead(lygimage);
//        int b[][] = new ReadWritePng().BLUpngRead(lygimage);
//        //r[][]
//        r = P(r, d, e);
//        //g[][]
//        g = P(g, d, e);
//        //b[][]
//        b = P(b, d, e);
//        //r[][]g[][]b[][] to image
//        lygimage = new ReadWritePng().createBufferImage(r, g, b);
//        return lygimage;
//    }
//}
